package Aula19;

import Aula19.No;;

public class Arvore {

	No raiz;
	
	public Arvore(){
		super();
	}

	public No insert(int numero) {
		if(numero < 0){
			return null;
		}
		No novoNo = new No(numero);
		No pai = null;
		No no = raiz;

		while (no != null) {
			pai = no;
			if(no.key == novoNo.key){
				return null;
			}
			if (no.key > novoNo.key) {
				no = no.left;
			} else{
				no = no.right;
			}
		}
		novoNo.parent = pai;

		if (pai == null) {
			raiz = novoNo;
		} else if (pai.key > novoNo.key) {
			pai.left = novoNo;
		} else {
			pai.right = novoNo;
		}
		return novoNo;
	}
	
	public No search(int key){
		if(key < 0){
			return null;
		}
		No no = raiz;
		if(no == null){
			return no;
		}
		while(no.key != key){
			if(key > no.key){
				if(no.right != null){
					no = no.right;
				}else{
					return no;
				}
			}else{
				if(no.left != null){
					no = no.left;
				}else{
					return no;
				}
			}
		}
		return no;
	}

}
